home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
pascal
/
fulldb.exe
/
FULLDB.DOC
< prev
next >
Wrap
Text File
|
1991-10-15
|
7KB
|
181 lines
FULLDB version 1.3 - Add .OBJ line number information to Turbo Pascal .TPU.
Works with TP 5.5, TP 6.0, or TPW 1.0!
Copyright (c) D.J. Murdoch, 1991
Syntax: FULLDB tpuname[.TPU] [/Oobjpath]
reads the given .TPU file, and attempts to add line number information
from all externally linked .OBJ files.
Option:
/Oobjpath: Search objpath for .OBJ files if they're not in the current
directory.
This option may be kept in the TPC.CFG file, if that file is on the
PATH. A command line option will override the TPC.CFG value.
Description:
Turbo Pascal versions 4.0 and up allow you to link external .OBJ files
written in other languages. Usually these are written in assembler,
since the requirements of the TP linker are very strict.
Unfortunately, all debugging information is lost, which makes it very
hard to get the assembler code right.
FULLDB fixes this for TP 5.5 and 6.0, and TPW 1.0. If you can get your
external assembler/compiler to include standard line number
information in the .OBJ files, FULLDB will copy this into your .TPU
file. This will enable you to single step through your external code
while in the TURBO IDE or in Turbo Debugger.
Example:
The following demonstration files are included in this package. I've
already done the first few steps in TP 6.0; skip right to compiling
DEMO.PAS if you're using that version.
Assemble PARSE.ASM with included debug information:
TASM /Zd PARSE
Compile PARSE.PAS, which links in PARSE.OBJ:
TPC /$D+ PARSE.PAS
(Or use the TURBO.EXE IDE to compile it. It's doesn't matter if you
include debug information for the Pascal part of the unit.)
Add the PARSE.OBJ line number information to .TPU:
FULLDB PARSE.TPU
Now compile the DEMO program:
TPC /V /$D+ DEMO
or
TURBO DEMO
<F9>
and you'll be able to single step <F7> right into PARSE.ASM, in either
Turbo Debugger or the IDE.
Limitations:
The record in the .TPU file giving the name of the .OBJ file doesn't
include date & time information. If the file it finds isn't the same
one you linked into your .TPU, you're likely to get garbage line
numbers. FULLDB will have no way to check on this.
FULLDB can't read full debug information from the .OBJ file. Only
line numbers are used, so local symbols won't be available to the
debugger. Note that the TP 6.0 IDE has a Registers window available
using the <AltW>R command.
The lack of local symbols is something I'm working on; if you register
this copy (see below), you may get the full debug version in the mail.
This effort would be greatly sped up if someone could point me to
documentation of the debug info formats in .OBJ files; I already know
how to add it to the .TPU file once I can read it.
History:
1.3 - Added search of TPC.CFG, and demonstration code
1.2 - Added /O option
1.1 - Fixed bug with large .ASM files
1.0 - First version
License:
FULLDB is not public domain. It contains code whose copyright belongs
to D.J. Murdoch, as well as library code from Borland International
and TurboPower Software.
You are free to use FULLDB without charge for one month. If you keep
it beyond that time, you must register it by sending $20 (Canadian or
U.S. dollars) to me at the address below. Mention your version
number; one update will be sent to you when available. I'll also put
a collection of other freeware and shareware programming utilities on
the same disk. (If you like, you can forgo the free update and
request the disk of other utilities immediately.)
You may distribute FULLDB unmodified, together with this documentation
file, provided that you charge no more than distribution costs, and on
no account more than $10 per copy.
Source code:
Source code to FULLDB is available to registered users at a cost of
$20 (Canadian or U.S. dollars). Send your payment to me at the
address below. You can register it and obtain source code at the same
time for $35 (Canadian or U.S.).
Warranty:
There is no warranty of any kind with this program. But it's
shareware - if it doesn't do what you want, throw it away. I can't
accept responsibility for any damage that bugs in it may cause. If
you find any, please send reports to me (Duncan Murdoch) at one of the
following addresses:
DJ Murdoch at Fidonet node 1:221/177.40
dmurdoch@watstat.waterloo.edu on Internet
71631,122 on Compuserve
79 John St. W
Waterloo, Ontario, Canada
N2L 1B7
----------------end-of-author's-documentation---------------
Software Library Information:
This disk copy provided as a service of
Public (software) Library
We are not the authors of this program, nor are we associated
with the author in any way other than as a distributor of the
program in accordance with the author's terms of distribution.
Please direct shareware payments and specific questions about
this program to the author of the program, whose name appears
elsewhere in this documentation. If you have trouble getting
in touch with the author, we will do whatever we can to help
you with your questions. All programs have been tested and do
run. To report problems, please use the form that is in the
file PROBLEM.DOC on many of our disks or in other written for-
mat with screen printouts, if possible. PsL cannot debug pro-
programs over the telephone, though we can answer questions.
Disks in the PsL are updated monthly, so if you did not get
this disk directly from the PsL, you should be aware that the
files in this set may no longer be the current versions. Also,
if you got this disk from another vendor and are having prob-
lems, be aware that some files may have become corrupted or
lost by that vendor. Get a current, working disk from PsL.
For a copy of the latest monthly software library newsletter
and a list of the 3,000+ disks in the library, call or write
Public (software) Library
P.O.Box 35705 - F
Houston, TX 77235-5705
Orders only:
1-800-2424-PSL
MC/Visa/AmEx/Discover
Outside of U.S. or in Texas
or for general information,
Call 1-713-524-6394
PsL also has an outstanding
catalog for the Macintosh.